//
// Created by madison on 2022/1/5.

//C 中的变量声明
//变量声明向编译器保证变量以指定的类型和名称存在，这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。变量声明只在编译时有它的意义，在程序连接时编译器需要实际的变量声明。
//
//变量的声明有两种情况：
//
//1、一种是需要建立存储空间的。例如：int a 在声明的时候就已经建立了存储空间。
//2、另一种是不需要建立存储空间的，通过使用extern关键字声明变量名而不定义它。 例如：extern int a 其中变量 a 可以在别的文件中定义的。
//除非有extern关键字，否则都是变量的定义。
//extern int i; //声明，不是定义
//int i; //声明，也是定义
//
#include <stdio.h>

int x;
int y;

int addtwonum() {
    // 函数内声明变量 x 和 y 为外部变量
    extern int x;
    extern int y;
    // 给外部变量（全局变量）x 和 y 赋值
    x = 1;
    y = 2;
    return x + y;
}

int main() {
    int result;
    // 调用函数 addtwonum
    result = addtwonum();
    printf("result 为: %d", result);
    return 0;
}